package com.lvmama.rhino.mapper;

import java.util.List;
import java.util.Map;

import com.lvmama.rhino.entity.H5pageMonitorVO;
import com.lvmama.rhino.entity.PageMonitorVO;
import com.lvmama.rhino.pojo.OptionData;
import com.lvmama.rhino.pojo.PageMonitor;
import com.lvmama.rhino.pojo.PageMonitorInfo;

public interface PageMonitorMapper {

    /**
     * 根据条件查询页面监控的数据
     * @param pageMonitorVO
     * @return
     */
    List<PageMonitor> getMessageListPage(PageMonitorVO pageMonitorVO);
    List<PageMonitorInfo> getMessageInfoListPage(PageMonitorVO pageMonitorVO);

    /**
     * 根据条件查询所有数据信息
     * @param pageMonitorVO
     * @return
     */
    List<PageMonitor> queryTimePageMonitorList(PageMonitorVO pageMonitorVO);
    List<PageMonitorInfo> queryTimePageMonitorInfoList(PageMonitorVO pageMonitorVO);

    /**
     * 根据条件查询总的访问次数
     * @param pageMonitorVO
     * @return
     */
    Integer queryPageMonitorListCount(PageMonitorVO pageMonitorVO);
    
    /**
     * 查询各个时段的总量
     * @param pageMonitorVO
     * @return
     */
    OptionData queryOptionData(PageMonitorVO pageMonitorVO);
    
    /**
     * 查询分区是否存在
     * @param dateStr
     * @return
     */
    String queryPartition(String dateStr);
    
    /**
     * 新建分区
     * @param str
     * @param dateStr
     */
    void createPartition(Map<String, Object> param);
    
    /**
     * H5首屏统计
     * @param h5pageMonitorVO
     * @return
     */
	List<PageMonitor> H5pageMonitorSearchPage(H5pageMonitorVO h5pageMonitorVO);//可以模糊查询url
	List<PageMonitor> H5pageMonitorSearchPageByPageType(H5pageMonitorVO h5pageMonitorVO);//可以精确查询url
    
}
